package resultatTest;

import java.util.ArrayList;

import outils.Ligne;
import run.ResultatExecutionTest;



/**
 * @author alith
 * Cette classe et ses sous classes sont les resultats des lignes de commandes ou des lectures de fichiers
 */
public class ResultatTest {
	protected ArrayList<Ligne> lignes;
	
	public ResultatTest() {
		lignes = new ArrayList<Ligne>();
	}

	public ArrayList<Ligne> getLignes() {
		return lignes;
	}
	
	public String getLignesFlat(){
		String result = "";
		for (Ligne l : lignes){
			result += l + "\n";
		}
		return result;
	}
	
	public ResultatExecutionTest equals (ResultatTest other) {
		boolean result = true;
		String message = "";
		if (lignes.size()!= other.getLignes().size()) {
			return new ResultatExecutionTest(false,"pas le meme nombre de lignes entre:\n" + getLignesFlat() + "et\n" + other.getLignesFlat());
		}
		for (int i = 0; i<lignes.size(); i++) {
			if (!lignes.get(i).equals(other.getLignes().get(i))){
				result = false;
				message += lignes.get(i) + " est diffenrent de \n" + other.getLignes().get(i) + "\nà la ligne " + i + "\n***\n";
			}
		}
		return new ResultatExecutionTest(result,message);
	}
}
